package com.woniuxy.patrol.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniuxy.patrol.dto.PatrolStatsDTO;
import com.woniuxy.patrol.pojo.PatrolPointRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.common.utils.ResponseUtil;

import java.io.ByteArrayOutputStream;

/**
* @author 13162
* @description 针对表【wcm_patrol_point_record(点位巡更记录表)】的数据库操作Service
* @createDate 2025-07-14 19:22:37
*/
public interface PatrolRecordService extends IService<PatrolPointRecord> {

    /**
     * 提交巡更记录（对应《巡更demo.docx》3.1.3巡更记录功能）
     */
    ResponseUtil submitRecord(PatrolPointRecord record);

    /**
     * 根据任务ID查询记录
     */
    ResponseUtil getByTaskId(Long taskId);

    /**
     * 根据点位ID查询历史记录
     */
    ResponseUtil getByPointId(Long pointId);

    ResponseUtil getAll();

    // 新增方法

    Page<PatrolPointRecord> getByCommunity(Long communityId, String startTime, String endTime, Integer pageNum, Integer pageSize);
//    String exportByCommunity(Long communityId, String startTime, String endTime);


    // 新增：获取统计数据
//    ResponseUtil getStats(Long communityId);

    // 统计数据实现
    PatrolStatsDTO selectPatrolStats(Long communityId);

    // 新增：获取最近异常记录
    ResponseUtil getRecentExceptions(Long communityId, Integer limit);

    ByteArrayOutputStream exportRecords(Long communityId, String startTime, String endTime);

    ResponseUtil getStats(Long communityId);
}